package LeetCode;

/**
 * // https://leetcode-cn.com/problems/maximum-subarray/ 动态规划 经典
 */
public class LC53 {
    public int maxSubArray(int[] nums) {

        int max = Integer.MIN_VALUE,temp = 0;
        for (int num : nums) {
            // 这三个步骤的顺序不要搞乱了
            temp += num;// 当前的和增加
            max = Math.max(max, temp);// 比较当前的和与之前的最大值，选更大的那个
            temp = Math.max(temp, 0);// 如果当前和小于0，则表示这个位置之前的数都不取，我们设置和为0
        }
        return max;
    }
}